Goals from David Silva and Sergio Aguero gave Manchester City a deserved win over Middlesbrough and earned Pep Guardiola's side a place in the FA Cup semi-finals.